package com.lvy.hczn.front.business.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.lvy.hczn.front.system.domain.business.AccessManager;

public interface AccessManagerService extends IService<AccessManager> {

    /**
     * 门禁扫码逻辑处理
     * 门禁扫描，扫描后，需处理业务逻辑
     * 如：根据类型只扫描一次，或者多久失效，或者永久失效，以及门禁打开后，推送到平台，告知到达仓库
     *
     * @param accessManager
     * @return void
     * @author yw
     * @date 2023-07-14 15:02:38
     */
    void accessManagerCode(AccessManager accessManager, boolean access);

    /**
     * 门禁扫码
     */
    void scan();

    /**
     * 发送指令到wcs打开门禁（门禁二维码扫码获取信息放wcs那边）
     *
     * @param accessCode
     * @return void
     * @author yw
     * @date 2023-07-14 15:02:38
     */
    void openTheDoor(String accessCode,boolean old);

    /**
     * 门禁置为无效，eg:多少小时内的type类型列表置为失效，
     * 如：配送单（退货配送，拒收配送）有效为五小时，五小时后，会查询type为配送单（退货配送，拒收配送）的置为失效
     *
     * @param hours
     * @param types
     * @return void
     * @author yw
     * @date 2023-07-22 18:01:48
     */
    void checkInvalidAccessManagerCode(String hours, String types);

    /**
     * @Description 物理删除
     * @Param
     * @Author yw
     * @Date 2024/9/12 10:31
     * @Return
     **/
    int logicDelete(AccessManager accessManager);
}
